const {test}=require("../test/test")//测试运行时间模块 参数是一个函数
let random={
	num(len){//生成随机数字,参数长度
		if(len==1){//特殊情况 len = 1 一个数字可以0-9 
			return parseInt(Math.random()*10)
		}
		let rArr=[],rLen=0;
		while(rLen<len){
			rArr.push(this.randomInt())
			rLen=0;
			rArr.map((value,index)=>rLen+=String(value).length)
		}
		return String(rArr).replace(/,/g,"").substr(0,len)
	},
	confine(min,max){//生成min~max范围的随机数，包括min和max
		[min,max]=min>max?[max,min+1]:[min,max+1]
		
		return parseInt(max-(Math.random()*(max-min)));
	},
	numArrar(len,size=0){//（随机数长度，[0||随机数数组大小，]）随机数数数组
		
		return ;
	},
	lenInt(len){//生成效果如 参数是2 生成数字是100
		return parseInt(1+("0".repeat(len))||(new Array(len+1)).join("0"))
	},
	randomInt(){//生成随机长整数
		return parseInt(String(Math.random()).split("0.")[1]);
	}
}
test(function(){
	for(let a=0;a<100;a++){
		console.log(random.confine(0,1))
	}
})

/**
 * 4-1=3
 * 4-.5=3.5
 * 4*.5=2
 * 4*.1=0.4
 * 4*.9=3.6
 * max-(Math.random()*(max-min))
 * 4-(.1*3)=3.7
 * 4-(.5*3)=2.5
 * 4-(.9*3)=1.3
*/